#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <cstring>

using namespace std;

//class txtOperator

vector<string> readNames(const char * txtFile)
{
    vector<string> res;
    fstream fst;
    fst.open(txtFile,ios::in);
    if(!fst)
    {
        cout<<"File Error!"<<endl;
    }
    else
    {
        while(!fst.eof())
        {
            string s="";
            fst>>s;
            res.push_back(s);
        }
    }
    fst.close();
    return res;
}
bool nameExist(const string name,const char * txtFile)
{
    vector<string> res = readNames(txtFile);
    vector<string>::iterator it;
    for(it=res.begin();it!=res.end();it++)
    {
        if(name==*it)
            return true;
    }
    return false;
}
bool addNameTxt(const string name,const char * txtFile)
{
    ofstream fs(txtFile,ios::app);
    if(!fs)
        return false;
    fs<<"\n";
    fs<<name;
    fs.close();
    if(nameExist(name,txtFile))
        return true;
    else return false;
}


int main()
{
    const char * txtFile = "file.txt";
    while(1)
    {
        cout<<"Input a Name to Search:";
        char s[10]={};
        cin.getline(s,10);
        if(strlen(s)>0)
        {
            string name(s);
            if(nameExist(name,txtFile))
            {
                cout<<"Name exist!"<<endl;
            }
            else
            {
                cout<<"Name not exist!"<<endl;
                cout<<"Add this name,Y /N?"<<endl;
                char c;
                cin>>c;
                if(c=='Y')
                {
                    if(addNameTxt(name,txtFile))
                        cout<<"Add Success!"<<endl;
                }
                    else break;
            }
        }
    }
    return 0;

}
